#ifndef _CDESKTOPRENDERER_H_
#define _CDESKTOPRENDERER_H_

#include "auto.h"

#include <buola/gui/x11/cglx.h>

namespace buola { namespace bwm {

///////////////////////////////////////////////////////
///////////////////////////////////////////////////////
////////////////// CDesktopRenderer //////////////////////
///////////////////////////////////////////////////////
///////////////////////////////////////////////////////

class CDesktopRenderer : public UUncopiable
{
public:
    enum ERenderMode
    {
        MODE_NONE=0,
        MODE_NODOCK=(1<<0),
        MODE_DOCKONLY=(1<<1)
    };

///////////////////////////////
/////////// methods ///////////
///////////////////////////////

public:
//////////////
// creation
//
    CDesktopRenderer();
    virtual ~CDesktopRenderer();

public:
//startup
    virtual void Enable() {}
    virtual void Disable() {}

//painting
public:
    virtual void Render(int pDesktop,ERenderMode pMode=MODE_NONE)=0;

    virtual void OnLoop() {}
};

/*namespace bwm*/ } /*namespace buola*/ }

#endif
